/*
* $Id: JournalInterface.h 151 2010-09-23 11:22:00Z volok-aleksej@yandex.ru $
*
* Copyright 2008-2009 by Volokitin Alexey
* All rights reserved
*
*/
#ifndef _JOURNAL_INTERFACE_H_
#define _JOURNAL_INTERFACE_H_

class CQueenBeeManager;
class CInspectManager;
class CFamilyManager;

interface IStyle :  public IBase{
	virtual std::tstring GetNameStyle() = 0;
	virtual int GetStyleId() = 0;
};

interface IJournalView : virtual public IWnd{
	virtual IStyle* GetStyleView() = 0;
	virtual void CreateView(int hwnd) = 0;
	virtual long OnWndMsg(unsigned int message, unsigned int wParam, long lParam) = 0;
};

interface IJournalComponent{
	static CQueenBeeManager* GetQueenBeeManager();
	static CInspectManager* GetInspectManager();
	static CFamilyManager* GetFamilyManager();
	virtual std::vector<std::tstring> GetStyleNames() = 0;
	virtual IJournalView* GetView(const std::tstring& strStyleName) = 0;
};

#endif /*_JOURNAL_INTERFACE_H_*/